package com.hgyc.mom.common.service;

import com.hgyc.mom.common.exception.file.FileException;
import org.springframework.web.multipart.MultipartFile;

/**
 * @author fwj
 * @since 2025/4/24
 */
public interface FileServiceStrategy {

    /**
     * 文件上传
     * @param file 文件信息
     * @return 文件路径
     * @throws FileException 文件异常
     */
    String uploadFile(MultipartFile file) throws FileException;

    /**
     * 文件上传
     * @param file 文件信息
     * @param folder 目录
     * @return 文件路径
     * @throws FileException 文件异常
     */
    String uploadFile(MultipartFile file, String folder) throws FileException;

    /**
     * 文件下载
     * @param attachmentId 附件ID
     * @return 文件路径
     * @throws FileException
     */
    byte[] downloadFile(String filePath) throws FileException;

    /**
     *
     * @param attachmentId
     * @throws FileException
     */
    void deleteFile(String filePath) throws FileException;
}
